.\"   $Id: delbddassoc.3,v 1.1 2002/03/18 11:26:50 ludo Exp $
.\" @(#)delbddassoc.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH DELBDDASSOC 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
.SH NAME
delbddassoc \- deletes a variable association.
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
int delbddassoc( BddSystem, BddAssoc )
  bddsystem  \(**BddSystem;
  bddassoc   \(**BddAssoc;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIBddSystem\fP
The \fBbdd\fP system.
.TP
\fIBddAssoc\fP
The variable association to delete.
.SH DESCRIPTION
\fBdelbddassoc\fP deletes the variable association \fIBddAssoc\fP in the \fBbdd\fP system
\fIBddSystem\fP.  If a null pointer is given, the default \fBbdd\fP system is used.
For all the \fBbdd\fP nodes of the variable association
\fIBddAssoc\fP, the number of external reference is decremented.
.br
.SH RETURN VALUE
\fBdelbddassoc\fP returns 1 if the variable association is found, 0 otherwise.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
   bddsystem  \(**BddSystem;
   bddcircuit \(**BddCircuit;
   bddnode    \(**BddNode;
   bddnode    \(**BddSubst;
   bddnode    \(**BddVariable;
   bddassoc   \(**Assoc;
   chain_list \(**Expr;
   bddvar         Variable;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_OR,
                            createablatom( "i2" ),
                            createablatom( "i3" ) );
   BddSubst = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddVariable = searchbddcircuitin( (bddcircuit \(**)0, "i0" );
   Variable = getbddvarbyindex( (bddsystem \(**)0, BddVariable->INDEX );
   Assoc = delbddassoc( (bddsystem \(**)0 );
   addbddnodeassoc( (bddsystem \(**)0, Assoc, Variable, BddSubst );
   BddNode = substbddnodeassoc( (bddsystem \(**)0, BddSubst, Assoc );
   delbddassoc( (bddsystem \(**)0, Assoc );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays ((i3 or i2) and i1) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddassoc( (bddsystem \(**)0 );
   destroybddsystem( (bddsystem \(**)0 );
   destroybddcircuit( (bddcircuit \(**)0 );
.ft R
.fi
.SH SEE ALSO
.BR bdd (1)


.so man1/alc_bug_report.1

